/**
 * 表格相关工具函数
 */

/**
 * 生成序号列配置
 * @param options 配置选项
 * @returns 序号列配置对象
 */
export function createIndexColumn(options: {
  title?: string;
  width?: number;
  fixed?: 'left' | 'right';
  currentPage?: number;
  pageSize?: number;
} = {}) {
  const {
    title = '序号',
    width = 80,
    fixed = 'left',
    currentPage = 1,
    pageSize = 10
  } = options;

  return {
    title,
    key: 'index',
    width,
    fixed,
    render: (row: any, index: number) => {
      // 计算跨页的实际序号
      return (currentPage - 1) * pageSize + index + 1;
    },
  };
}

/**
 * 为表格列数组添加序号列
 * @param columns 原始列配置
 * @param options 序号列配置选项
 * @returns 包含序号列的新列配置
 */
export function addIndexColumn(columns: any[], options?: Parameters<typeof createIndexColumn>[0]) {
  const indexColumn = createIndexColumn(options);
  return [indexColumn, ...columns];
} 